package com.xinghen.common.core.log;

import java.util.Objects;

/**
 * @author xinghen
 * @ClassName: LogType
 * @Package: com.xinghen.common.core.log
 * @Description 日志类型枚举
 * @create 2018-04-13 10:56
 */
public enum LogType {

    /**
     * 操作日志
     */
    OPERATION_LOG("10", "操作日志"),

    /**
     * 登录日志
     */
    LOGIN_LOG("20", "登录日志"),

    /**
     * 异常日志
     */
    EXCEPTION_LOG("30", "异常日志");

    /**
     * 日志类型编码
     */
    String code;

    /**
     * 日志类型名称
     */
    String name;

    LogType(String code, String name) {
        this.code = code;
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    /**
     * 获取日志类型名称
     *
     * @param code
     * @return
     */
    public static String getName(String code) {
        LogType logType = getLogType(code);
        return Objects.nonNull(logType) ? logType.getName() : null;
    }

    /**
     * 获取日志类型
     *
     * @param code
     * @return
     */
    public static LogType getLogType(String code) {
        for (LogType logType : LogType.values()) {
            if (logType.getCode().equals(code)) {
                return logType;
            }
        }
        return null;
    }

}
